/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package ucab.desarrollo.viajesbook.negocio;

import ucab.desarrollo.viajesbook.AppContext;
import ucab.desarrollo.viajesbook.beans.Usuario;
import ucab.desarrollo.viajesbook.persistencia.IUsuarioDAO;
import ucab.desarrollo.viajesbook.persistencia.UsuarioDAO;

/**
 *
 * @author isak
 */
public class loginBO 
{

    /**
     * Comprobar si el usuario existe en la base de datos. Verifica que la cuenta
     * este habilitada
     * @param login
     * @param password
     * @return
     * @throws CuentaDeshabilitadaException
     */
    public static Usuario esUsuarioAutorizado(String login, String password) throws CuentaDeshabilitadaException
    {
                
        Usuario usuario = (Usuario)AppContext.getApplicationContext().getBean("usuario");
        usuario.setUsuariologin(password);
        usuario.setUsuariocorreoelectronico(login);
        
        IUsuarioDAO dao = (UsuarioDAO)AppContext.getApplicationContext().getBean("usuarioDAO");
        usuario = dao.buscarPorNombre(usuario);
       
        if(usuario!=null)
        {           
             if(usuario.getUsuariocuantaactiva()==0)
             {
                throw new CuentaDeshabilitadaException("La cuenta ha sido Deshabilitada");
             }       
            
        return usuario;
        }
        else return null;
    }

    /**
     * comprueba si existe el usuario sin comprobar si la cuenta esta habilitada
     * @param login
     * @param password
     * @return
     */
    public static Usuario esUsuarioAutorizadoSimple(String login, String password)
    {

        Usuario usuario = (Usuario)AppContext.getApplicationContext().getBean("usuario");
        usuario.setUsuariologin(password);
        usuario.setUsuariocorreoelectronico(login);

        IUsuarioDAO dao = (UsuarioDAO)AppContext.getApplicationContext().getBean("usuarioDAO");
        usuario = dao.buscarPorNombre(usuario);

        
        if(usuario!=null)
        {           
             return usuario;
        }

        else return null;
    }


}
